Криптарифм

Ограничение времени1 секунда
Ограничение памяти256 Мб
Вводстандартный ввод или input.txt
Выводстандартный вывод или output.txt

Однажды Данияр, проходя мимо младшей сестры Мирры, увидел в её тетрадке запись ОДИН+ОДИН=МНОГО. Данияр подумал, что его сестра пытается научиться считать, но оказалось, что Мирра давно это умеет и уже решает более сложные задачки, а то, что увидел Данияр — простой криптарифм.

Криптарифм — это математический ребус, в котором зашифрован пример на выполнение одного из арифметических действий(в этой задаче — только сложение). При этом одинаковые цифры шифруются одной и той же буквой, а разным цифрам соответствуют различные буквы. Никакое число не должно начинаться с нуля.

Данияру понравилась такая задачка, и он захотел придумать ещё несколько таких же для своих друзей. Он хочет, чтобы слова в ребусе имели смысл, поэтому сначала придумывает слова, а потом пытается решить ребус. Решать ребусы Данияру надоело после первой же неудачной попытки, поэтому он просит вас решить все криптарифмы, которые он придумал, если это возможно (друзья Данияра живут по всему миру, поэтому криптарифмы он придумывает на английском)

Формат ввода

Далее под s |s| подразумевается длина строки s.

Первая строка входных данных содержит строку A A ( 1 A 8 1 \leq |A| \leq 8 ) из строчных букв английского алфавита — первое слагаемое ребуса.

Вторая строка входных данных содержит строку B B ( 1 B 8 1 \leq |B| \leq 8 ) из строчных букв английского алфавита — второе слагаемое ребуса.

Третья строка входных данных содержит строку C C ( 1 C 9 1 \leq |C| \leq 9 ) из строчных букв английского алфавита — сумма ребуса.

Гарантируется, что в криптарифме используется не более 10 различных букв

Формат вывода

Если во введеных строках присутствуют цифры — выведи единственное число -2, как признак некорректного ввода.

Если ребус имеет решение, выведите три целых числа, которые могли быть скрыты за A A , B B и C C соответственно, иначе выведите -1. Первая буква каждой из строк A, B и C обязана представлять цифру от 1 до 9 (ноль может использоваться только в остальных позициях)

Если решений несколько, выведите любое.

Система оценивания

Решения, верно работающие при A = 1 |A| = 1 и B = 1 |B| = 1 , будут получать не менее 40 баллов.

Решения, верно работающие при A 3 |A| \leq 3 и B 3 |B| \leq 3 , будут получать не менее 68 баллов.

Пример 1

ВводВывод
one
one
lot
471
471
942

Пример 2

ВводВывод
send
more
money
9567
1085
10652